//拿到指定拓展名的文件
const fs = require("fs");
const path = require("path");
const convertSize = require("./convertSize")
//解析需要遍历的文件夹，我这以E盘根目录为例
const beginFilepath = "公司-简历-经历"
const filePath = path.resolve(`../${beginFilepath}`);
/**
 * 文件遍历方法
 * @param filePath 需要遍历的文件路径
 */
const pathArr = [];
let id = 0;
let dirName = beginFilepath;
let fileDisplay = (filePath) => {
  //根据文件路径读取文件，返回文件列表
  let files = fs.readdirSync(filePath);
  files.forEach(function (filename) {
    //获取当前文件的绝对路径
    let fileDir = path.join(filePath, filename);
    //根据文件路径获取文件信息，返回一个fs.Stats对象
    let stats = fs.statSync(fileDir);
    let extension = path.extname(fileDir), //拓展名
      realSize = stats.size, //真实文件大小
      fileSize = convertSize(stats.size), //转换单位后文件大小
      creationTime = stats.birthtime.toLocaleString(), //创建时间
      lastAccessTime = stats.atime.toLocaleString(), //最后一次访问的时间
      lastChangeTime = stats.mtime.toLocaleString(), //最后一次修改时间
      isFile = stats.isFile(), //是文件
      isDir = stats.isDirectory(); //是文件夹
    let dirObj = {
      id: id, //
      creationTime: creationTime, //创建时间
      lastChangeTime: lastChangeTime, //最后一次修改时间
      lastAccessTime: lastAccessTime //最后一次访问的时间
    }
    
    if (isFile&&extension==".mp4") {
      dirObj.extension = extension //拓展名
      dirObj.fileSize = fileSize //文件大小
      dirObj.realSize = realSize //真实大小
      dirObj.filename = filename //文件名称
      dirObj.path = fileDir //文件路径
      // dirObj.isFile=isFile//是否为文件
      id++;
      pathArr.push(dirObj);
    }
    if (isDir) {
      dirObj.isDir = isDir //是否为目录
      dirObj.dirName = dirName //目录名
      dirObj.path = filePath //目录路径
      dirName = filename;
      // pathArr.push(dirObj);
      fileDisplay(fileDir); //递归，如果是文件夹，就继续遍历该文件夹下面的文件
    }
  });
  return pathArr;
  //
};
//调用文件遍历方法
const selectFilesJson= fileDisplay(filePath);
console.log("🚀 ~ file: getselectfiles.js ~ line 62 ~ selectFilesJson", selectFilesJson)
// module.exports = selectFilesJson;